﻿/*
* Author: Zero
* Version: 1.2
* Le agregué un preferences que es lo que va a manejar las preferencias visuales de la extension
* El ID es un number ahora
* Se agregaron los voiceMails y los messages como properties
* el type, ¿para qué lo vamos a usar?
*
*/

import com.dinmax.flash.central.extension.draw.ExtensionPreferences;
import com.dinmax.flash.central.extension.*;
import com.dinmax.flash.central.extension.log.*;
import com.dinmax.flash.central.extension.state.*;
import com.dinmax.flash.central.extension.user.*;
import com.dinmax.flash.central.extension.message.*;

class Extension {
	
	private var id:Number;
	private var name:String;
	private var number:Number;
	private var log:ExtensionLog;
	private var user:User;
	private var state:State;
	private var type:String; // tipo de extension (interna / externa ?? )
	private var voiceMessages:Array; // de VoiceMessage
	private var textMessages:Array; // de TextMessage
	private var preferences:ExtensionPreferences; // es lo que se modifica cuando hago preferencias

	public function setId(id:Number):Void {
		this.id = id;
		return;
	}; //fin funci
	public function getId():Number {
		return id;
	}; //fin funci
	
	public function setName(name:String ):Void {
		this.name = name;
		return;
	}; //fin funci
	public function getName():String {
		return name;
	}; //fin funci	
	
	public function setLog(log:ExtensionLog ):Void {
		this.log = log;
		return;
	}; //fin funci
	public function getLog():ExtensionLog {
		return log;
	}; //fin funci	
	
	public function setState(state:State):Void {
		this.state = state;
		return;
	}; //fin funci
	public function getState():State {
		return state;
	}; //fin funci
	
	public function setUser(user:User):Void {
		this.user = user;
		return;
	}; //fin funci
	public function getUser():User {
		return user;
	}; //fin funci
	
	public function setPreferences (newPreferences:ExtensionPreferences):Void {
		preferences = newPreferences;
		return;
	}
	public function getPreferences ():ExtensionPreferences {
		return preferences;
	}
	
	public function getType():String {
		return this.type;
	}
	public function setType(type:String):Void {
		this.type = type;
		return;
	}

	public function getNumber():Number {
		return number;
	}

	public function setNumber(number:Number):Void {
		this.number = number;
		return;
	}

	public function getVoiceMessages():Array {
		return this.voiceMessages;
	}

	public function setVoiceMessages(voiceMessages:Array):Void {
		this.voiceMessages = voiceMessages;
		return;
	}

	public function getTextMessages():Array {
		return this.textMessages;
	}

	public function setTextMessages(messages:Array):Void {
		this.textMessages = messages;
		return;
	}

}